/* --------------------------------------
		content.css
Contient les elements : 
 - conteneurs generaux, elements de module,
 - pagination des pages,
 - exploreur de categorie,
 - gestion des categories,
 - mini-module,
 - message postes,
 - maintenance.
-----------------------------------------*/


/* -- Conteneurs, elements de module -- */
/* ------------------------------------ */
section,
article {
	position: relative;
	margin: 0 auto;
	width: 100%;
	vertical-align: top;
}

@media (min-width: 769px) {
	section,
	article {
		margin: 1em auto;
		width: 98%;
	}
}

/* --- articles --- */
.article-several.block,
.article-several.small-block,
.article-several.medium-block {
	clear: none!important;
}

.article-several {
	clear: both;
}

/* --- Titre d'une page ou d'un element d'un module --- */
section header h1,
article header h1 {
	border-bottom: 1px solid #CBCBCB;
}
section header a:hover {
	text-decoration: none;
}

section header h2,
article header h2 {
	margin-left: 15px;
	border-bottom: 1px solid #CBCBCB;
}

section header h3,
article header h3 {
	margin-left: 15px;
	border-bottom: 1px solid #CBCBCB;
}

@media (min-width: 769px) {
	section header,
	article header {
		margin: 0 0 1em 0;
	}	
}

/* --- Titre d'un bas de page --- */
@media (min-width: 769px) {
	section footer,
	article footer {
		margin-bottom: 1.5em;
	}
}

section footer,
article footer {
	clear: both;
}

/* --- Icones actions (edition, suppression, etc) --- */
.actions {
	float: right;
}

.actions a {
	display: inline-block;
	padding: 0 0.456em;
}

@media (max-width: 768px) {
	.actions a {
		padding: 0 0.809em;
	}
}

header h2 .actions {
	font-size: 0.456em;
}

.actions-menu {
	position: relative;
}

.actions-title {
	position: relative;
	display: block;
	padding: 0.309em 0.456em;
}

@media (max-width: 768px) {
	.actions-title {
		position: relative;
		display: block;
		padding: 1em 1.309em;
	}
}

.actions-menu.opened .fa-actions-menu:before {
	content: "\f00d";
}

.actions-submenu {
	position: absolute;
	list-style: none;
	padding: 0;
	top: 25px;
	left: -9999px;
	width: 250px;
	z-index: 1;
}

@media (max-width: 768px) {
	.actions-submenu {
		top: 45px;
	}
}

.opened .actions-submenu {
	left: auto;
	right: 0;
}

.actions-title { }

.action {
	font-size: 1.5rem;
	padding: 0.309em 0.456em;
}

@media (max-width: 768px) {
	.action {
		padding: 1em 0.618em;
	}
}

.action i {
	text-align: center;
	width: 20px;
}

.actions-menu.opened .actions-title {
	background-color: #FFFFFF;
	box-shadow: 0 0 5px rgba(54, 100, 147, 0.2);
}
.actions-submenu {
	background-color: #FFFFFF;
	box-shadow: 0 4px 5px rgba(54, 100, 147, 0.2);
}
.action:hover {
	background-color: rgba(54, 100, 147, 0.2);
}
/* -- Elements .more d'un contenu -- */
/* --------------------------------- */

/* General */
.more {
	padding: 0.618em 0.618em 1.618em;
	font-size: 0.809em;
	font-size: 0.809em;
	font-style: italic;
}

/* --- Sharing items
----------------------------------------------------------------------------- */

.more-element-sharing {
	position: relative;
	margin: 0.309em 0 0 0;
	padding: 0;
}

@media (min-width: 769px) {
	.more-element-sharing {
		margin: 1.309em 0 0.309em 0;
	}
}

.sharing-button {
	display: none;
}

.sharing-elements-list {
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: flex;
	display: -ms-flexbox;
	display: -webkit-flex;
	flex-direction: row;
	-ms-flex-direction: row;
	-webkit-flex-direction: row;
	text-align: center;
	justify-content: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
}

@media (min-width: 769px) {
	.sharing-elements-list {
		justify-content: flex-start;
		-ms-flex-pack: flex-start;
		-webkit-justify-content: flex-start;
	}
}

.sharing-element {
	flex: 0 0 auto;
	-ms-flex: 0 0 auto;
	-webkit-flex: 0 0 auto;
}

@media (min-width: 769px) {
	.sharing-element {
		margin: 0 0.309em 0.309em 0;
	}
}

.sharing-element a {
	display: block;
	padding: 0.618em 1.228em;
	display: block;
	margin: 0 0.1em 0.309em 0;
}


.sharing-element > a {
	font-weight: normal;
	color: #FFFFFF;
}

.sharing-element-comments > a { background-color: #CDCDCD; }
.sharing-element-mail > a     { background-color: #366393; }
.sharing-element-print > a    { background-color: #999999; }
.sharing-element-sms > a      { background-color: #999999; }



/* --- Contenu --- */
.content {
	padding: 0 1em;
	text-align: justify;
}

@media (min-width: 769px) {
	div#main.main-with-left.main-with-right section .content {
		padding: 0 5px;
	}
}

@media (max-width: 768px) {
	.content {
		padding: 1em 0;
	}
}

.content + aside {
	clear: both;
}

/* --- Block --- */
.block,
.medium-block,
.small-block {
	padding: 0.8em;
	background-color: #FFF8F4;
	border-style: solid;
	border-width: 2px 1px 1px 1px;
	border-color: #CBCBCB #CCCCCC #FFD9C1 #CCCCCC;
}

.block .content,
.medium-block .content,
.small-block .content {
	margin: 0;
}

.block h1,
.medium-block h1,
.small-block h1 {
	border: none;
}

.block {
	width: auto;
}

.block header {
	margin: 0 0 1% 0;
}

.block footer {
	margin: 0;
}

.medium-block,
.small-block {
	float: left;
	margin: 1% 0.5%;
}

/* ---- Affiche 2 blocs côte a côte ---- */
.medium-block {
	width: 49.00%;
}

/* ---- Affiche 3 blocs côte a côte ---- */
.small-block {
	width: 32.33%;
}

/* ---- Affiche des blocs en vertical ---- */
@media (max-width: 480px) {
	.small-block,
	.medium-block {
		width: 100%;
		margin: 1% 0%;
	}
}

.no-style .block {
	background-color: transparent!important;
	border: none!important;
}

.elements-container {
	display: flex;
	display: -ms-flexbox;
	display: -webkit-flex;
	flex-direction: column;
	-ms-flex-direction: column;
	-webkit-flex-direction: column;
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	align-content: flex-start;
	-ms-flex-line-pack: start;
	-webkit-align-content: flex-start;
	justify-content: space-around;
	-ms-flex-pack: distribute;
	-webkit-justify-content: space-around;
}

.elements-container > .block {
	flex: 0 1 auto;
	-ms-flex: 0 1 auto;
	-webkit-flex: 0 1 auto;
}

/* Gestion en colonnes pour ecran large*/
@media (min-width: 769px) {
	.elements-container {
		flex-direction: row;
		-ms-flex-direction: row;
		-webkit-flex-direction: row;
		margin-left: -5px; /* @{gutter} */ 
	}

	.block { 
		margin-left: 5px; /* @{gutter} */ 
		width: 100%;
	} 
	
	.columns-2 .block { width: calc(100% / 2 - 5px); } /* calc(100% / @{number} - @{gutter}); */ 
	.columns-3 .block { width: calc(100% / 3 - 5px); }
	.columns-4 .block { width: calc(100% / 4 - 5px); }
	.columns-5 .block { width: calc(100% / 5 - 5px); }
	.columns-6 .block { width: calc(100% / 6 - 5px); }
	.columns-7 .block { width: calc(100% / 7 - 5px); }
	
	.block-xlarge { width: 100%!important; } /* Extension du bloc sur une ligne complète */
}

/* Gestion en ligne pour petit ecran */
@media (max-width: 768px) {
	.block {
		margin-bottom: 5px;
		width: 100%;
	}	
}


/* --- Gestion des media --- */
.thumbnail-item {
	padding: 0.309em 0;
	display: block;
}

@media (min-width: 769px) {
	.thumbnail-item {
		max-width: 38%;
		float: left;
		padding: 0.309em 0.618em 0.309em 0;
	}

	.columns-3 .thumbnail-item,
	.columns-4 .thumbnail-item,
	.columns-5 .thumbnail-item,
	.columns-6 .thumbnail-item,
	.columns-7 .thumbnail-item {
		float: none;
		max-width: 100%;
		padding: 0.309em 0;
	}
}

@media (max-width: 768px) {
	.media-content {
		clear: both;
		position: relative;
		padding-bottom: 56.25%;
		height: 0;
	}

	.media-content object,
	.media-content embed,
	.media-content video,
	.media-content iframe,
	.media-content .video-player {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}

@media (min-width:769px) {
	.media-content embed,
	.media-content iframe {
		width: auto;
		height: auto;
	}
}


/* --- Friends content --- */
.content-friends {
	border-width: 7px 1px 1px 1px;
	border-top-color: #103B67;
}

.content-privileged-friends {
	border-width: 7px 1px 1px 1px;
	border-top-color: #E2BE47;
}

/* -- Pagination des pages -- */
/* -------------------------- */
section footer ul.pagination {
	text-align: center;
}

ul.pagination {
	margin: 0;
}

ul.pagination .fa:before {
	font-size: 0.8em;
}

ul.pagination-block {
	margin: 5px 0;
}

ul.pagination-block li {
	padding: 2px 2px;
}

ul.pagination-block li a {
	display: inline-block;
	padding: 2px 7px;
	outline: none;
	font-weight: bold;
	font-size: 0.8em;
	text-align: center;
	text-decoration: none;
}

ul.pagination-block li a {
	background-image: linear-gradient(to bottom,  rgba(255, 255, 255, 0.18) 0%, rgba(56, 56, 56, 0.10) 100%);
	background-color: #F9F9F9;
	border: 1px solid #CCCCCC;
	border-color: #E1E1E1 #E1E1E1 #BFBFBF #CFCFCF;
	border-radius: 4px;
	box-shadow: inset 0 0 0 rgba(255, 255, 255, 0.2), 0 0 2px rgba(0, 0, 0, 0.05);
	color: #333333;
	text-shadow: 0 1px 1px rgba(255, 255, 255, 0.1);
}

ul.pagination-block li a:hover {
	background-color: #FDFDFD;
	box-shadow: inset 0 0 0 rgba(255, 255, 255, 0.2), 0 0 2px rgba(0, 0, 0, 0.1);
	transition: all 0.1s linear;
}

ul.pagination-block li a:active {
	background-color: #F1F1F1;
	border: 1px solid #DDDDDD;
	box-shadow: inset 0 0 0 rgba(255, 255, 255, 0.2), 0 0 2px rgba(0, 0, 0, 0.05);
}

ul.pagination-block li a.current-page {
	background-color: #3B6B9F;
	border-color: #366393;
	color: #FEFEFE;
	text-decoration: none;
}

ul.pagination-block li a.current-page:hover {
	background-color: #366393;
	border-color: #315A86;
}

ul.pagination-block-bis li a.prev-page,
ul.pagination-block-bis li a.next-page {
	border: none;
	background: none;
	box-shadow: none;
	text-shadow: none;
}

ul.pagination-block-bis li a.prev-page:hover,
ul.pagination-block-bis li a.next-page:hover {
	text-decoration: underline;
}

.pages-pagination a {
	text-decoration: none;
}


/* -- Exploreur des categories -- */
/* ------------------------------ */
.explorer .cats,
.explorer .files {
	display: inline-block;
	margin: 5px 0.33%;
	width: 48%;
	vertical-align: top;
}

@media (max-width: 480px) {
	.explorer .cats,
	.explorer .files {
		width: 100%;
	}
}

.explorer .cats {
	min-width: 200px;
}

.explorer h1 {
	margin: 5px 0;
	color: #666666;
	font-size: 13px;
}

.explorer .content {
	padding: 5px 0;
	min-height: 120px;
	border: 1px solid #DDDDDD;
	border-radius: 3px;
}

.explorer .content ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.explorer .content ul ul {
	margin-left: 22px;
}

.explorer .content ul a.parent {
	float: left;
	height: 0;
}

.explorer .content ul a.parent i[id^="img2_"] {
	margin-left: -18px;
}

.explorer .content ul a {
	display: block;
	padding: 3px 0;
	color: #666666;
	text-decoration: none;
	text-align: left;
}

.explorer .content > ul > li > a {
	padding: 3px 5px;
}

.explorer .content ul .fa {
	width: 20px;
	vertical-align: top;
}

.explorer .content ul .fa:before {
	vertical-align: middle;
}

.explorer .content ul a.parent .fa:first-child {
	width: 14px;
}

.explorer .content ul a.parent .fa:first-child:before {
	width: 14px;
	font-size: 11px;
}

.explorer .content ul a:hover,
.explorer .content ul a:hover + a {
	background-color: #EEEEEE;
}

.explorer .content ul .sub a.parent {
	padding-left: 4px;
}

.explorer .selected {
	background-color: #DDDDDD;
}

.options {
	float: right;
	margin: 5px;
	padding: 6px 12px;
	max-width: 100%;
	background-color: #EEEEEE;
	border: 1px solid #DDDDDD;
	border-radius: 3px;	
}

.options h6 {
	margin: 10px 3px;
	font-size: 14px;
}

.options > h6,
.options > a ,
.options > span > a.small {
	color: #4372AA;
}

.options img {
	margin: 0 0 5px 0;
}

.infos {
	margin-left: 20px;
}

@media (max-width: 480px) {
	.infos {
		float: none;
		width: 100%;
		margin: 0 0 10px;
	}
}

.infos-options {
	display: block;
}

.poll-question-mini-container label { padding:10px 0 0 0;}

/* -- Gestion des categories -- */
/* ---------------------------- */
.cat-description {
	margin: 10px 5px;
}

.subcat-container {
	margin: 10px 0 5px 0;
	font-size: 0;
}

.subcat-element {
	margin-bottom: 20px;
	font-size: 13px;
	display: inline-block;
	text-align: center;
}

@media (max-width: 540px){
	.subcat-element {
		width: 50% !important;
	}
}

@media (max-width: 360px){
	.subcat-element {
		width: 100% !important;
	}
}

.subcat-content {
	margin: auto;
	padding: 0 5px;
}

.subcat-content img {
	margin-bottom: 10px;
}


/* --- Systeme de drag&Drop --- */
.sortable-block .sortable-element > .sortable-block {
	flex: 1 0 calc(100% - 0.618em);
	-ms-flex: 1 0 calc(100% - 0.618em);
	-webkit-flex: 1 0 calc(100% - 0.618em);
	margin: 0 0 0 0.618em;
}

.sortable-block {
	margin: 0;
	padding: 0;
	min-height: 24px;
	list-style-type: none;
	list-style-position: outside;
	color: #777777;
}

.sortable-block .sortable-element {
	display: flex;
	display: -ms-flexbox;
	display: -webkit-flex;
	flex-direction: row;
	-ms-flex-direction: row;
	-webkit-flex-direction: row;
	align-items: center;
	-webkit-align-items: center;
	-ms-align-items: center;
	align-content: center;
	-webkit-align-content: center;
	-ms-align-content: center;
	flex-wrap: wrap;
	-webkit-flex-wrap: center;
	-ms-flex-wrap: center;
	margin-bottom: 6px;
	padding: 0;
	width: 100%;
	border-color: #517BA6;
	border-style: solid;
	border-width: 0 0 0 3px;
	transition: all 0.2s;	
}

.sortable-block .sortable-element:hover {
	border-color: #366493;
	transition: all 0.2s;
}

@media (min-width:769px){ 
	.sortable-block .sortable-element .sortable-selector {
		flex: 0 0 1.309em;
		-ms-flex: 0 0 1.309em;
		-webkit-flex: 0 0 1.309em;
		opacity: 0.2;
		transition: opacity 0.3s;
		cursor: move;
	}
	
	.sortable-selector:after {
		content: "\f0b2";
		color: #517BA6;
		font-family: 'Font Awesome 5 Free';
		font-weight: 900;
	}
}

.sortable-block .sortable-element:hover .sortable-actions {
	opacity: 1;
	transition: opacity 0.3s;
}

.sortable-block .sortable-element:hover .sortable-selector {
	opacity: 1;
	transition: opacity 0.3s;
}

.sortable-block .sortable-title {
	flex: 1 1 auto;
	-ms-flex: 1 1 auto;
	-webkit-flex: 1 1 auto;
	padding: 0.618em;
	max-width: calc(100% - 5.2em)
}

.sortable-block .sortable-title:hover {
	background-color: #FAFAFA;
	transition: all 0.2s linear;
}

.sortable-block .sortable-title > span {
	font-size: 1.5em;
	font-weight: bold;
}

.sortable-block .sortable-title a {
	color: #555555;
}

.sortable-block .sortable-title span.cat-desc {
	font-size: 0.8em;
	font-weight: normal;
	font-style: italic;
}

.sortable-block fieldset {
	padding: 0 30px;
}

.sortable-block .sortable-actions {
	flex: 0 1 auto;
	-ms-flex: 0 1 auto;
	-webkit-flex: 0 1 auto;
	padding: 0.1618em;
	opacity: 0.2;
	transition: opacity 0.2s;
}

.sortable-block .sortable-element hr {
	margin-top: 5px;
	background-color: #999999;
}

.sortable-block .sortable-element label {
	margin-left: 14px;
	color: #1F507F;
}

.sortable-block .sortable-actions img,
.sortable-block .sortable-element:hover label,
.sortable-block .sortable-element .fa:hover {
	cursor: pointer;
}

.dragged {
	position: absolute;
	opacity: 0.9;
	z-index: 2000;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}

body.dragging,
body.dragging * {
	cursor: move !important;
}

.dropzone {
	margin: 10px 0;
	padding-top: 5px;
	height: 30px;
	opacity: 0.6;
	border: 1px dashed #AAAAAA;
	text-align: center;
	color: #AAAAAA;
}

.preview img {
	overflow: hidden;
}


/* -- Modules minis -- */
/* ------------------- */
.module-mini-container {
	clear: both;
	margin: 0 0 10px 0;
	padding: 5px;
	background-color: #FFFFFF;
    border: 3px solid #CBCBCB;
    border-radius: 4px;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
	border-spacing: 1px;
	
}

.module-mini-top {
	padding: 0.2em 0 0.2em 0;
	min-height: 24px;
	border-bottom: 2px #CBCBCB solid;
	text-align: center;
}

.module-mini-container .sub-title {
	margin-top: 5px;
	display: block;
	font-weight: bold;
	font-size: 1.6rem;
	color: #515C68;
}

.module-mini-contents {
	padding: 5px 4px 0 4px;
	border-top: none;
	border-bottom: none;
	text-align: center;
}

.module-mini-bottom {
	height: 15px;
}


/* -- Messages postes par les membres -- */
/*          (mp & commentaires)          */
/* ------------------------------------- */
#comments-list {
	clear: both;
}

#comments-list > header { 
	display: none;
}

.message {
	width: 98%;
	margin-bottom: 20px;
	overflow: auto;
}

#comments-list .message > header {
	display:none;
}

.message > footer {
	clear: both;
}

.view-topic {
	margin-top: 10px;
}

.view-topic i {
	margin: 0 0 1px 5px;
}

/* --- infos du message --- */
.message-date {
	margin-left: 150px;
}

.message-date i {
	vertical-align: top;
}

.message-user-infos {
	float: left;	
	width: 120px;
	text-align: center;
}

.message-message {
	position: relative;
	margin: 5px 0 0 140px;
	padding: 15px;
	min-height: 80px;
	background-color: #FFF7EF;
	border: 1px solid #FFF2EB;
	border-radius: 4px;
	color: #666666;
}

.message-message::before {
	position: absolute;
	top: 15px;
	bottom: auto;
	left: -25px;
	display: block;
	width: 0;
	border-width: 15px 25px 15px 0;
	border-color: transparent #FFF2EB;
	border-style: solid;
	border-radius: 5px;
	content: "";
}

.message-message::after {
	position: absolute;
	content: "";
	top: 16px;
	bottom: auto;
	left: -24px;
	display: block;
	width: 0;
	border-width: 14px 24px 14px 0;
	border-color: transparent #FFF7EF;
	border-style: solid;	
}

.message-avatar {
	width: 80px;
}

.message-user-infos img.message-avatar {
	padding: 10px 0;
}

article .message-user-infos .message-user-group {
	display: none;
}

@media (max-width: 480px) {
	.message-user-infos img.message-avatar {
		float: left;
		margin: 5px 5px 0 15px;
		padding: 4px;
		max-height: 54px;
		width: auto;
	}

	.message-message {
		border-top: 1px solid #CAD1EB;
	}

	.message-pseudo {
		float: right;
		padding: 20px 10px 0 0px;
	}

	.message-level {
		display: none;
	}

	.message-date {
		float: right;
		margin: 0 15px 0 0;
		padding: 20px 0 0 0;
		max-width: 120px;
		text-align: right;
	}

}

@media (min-width: 481px) and (max-width: 768px) {
	.message-container {
		padding-left: 70px;
	}

	.message-pseudo {
		padding: 20px 10px 0 15px;
	}
	
	.message-user-infos img {
		position: absolute;
		top: 20px;
		left: 15px;
		max-width: 54px;
	}

	.message-date {
		margin: 0;
		padding: 23px 0 0 0;
		text-align: left;
	}

}

@media (max-width: 768px) {
	.message-container {
		position: relative;
		min-height: 80px;
		background-color: #ECEFFA;
		border: 1px solid #D6DEE7;
		border-radius: 4px;
		color: #333333;
	}

	.message-message {
		background-color: transparent;
		border: none;
		border-radius: 0;
	}

	.message-message::after,
	.message-message::before {
		display: none;
	}

	.message-user-infos {
		display: inline-block;
	}

	.message-pseudo {
		text-align: left;
	}

	.message-pseudo a {
		color: #555555;
		font-size: 1.2em;
		font-weight: bold;
	}
	.message-pseudo a:hover {
		color: #222222;
		text-decoration: none;
	}
	
	.message-user-infos {
		width: auto;
	}

	.message-user-infos img {
		padding: 3px;
		background-color: #fff;
		box-shadow: 0 1px 9px #e0e0e0,inset 0 0 2px rgba(215,215,215,0.75);
	}

	.message-date {
		display: inline-block;
		font-size: 0.8em;
	}

	.message-date span.actions {
		position: absolute;
		bottom: 0;
		right: 6px;
		z-index: 1;
		display: block;
		text-align: right;
		font-size: 1.2em;
	}
	.message-date span.actions a {
		display: inline-block;
		padding: 5px 2px 5px 2px;
	}

	.message-message {
		margin: 0 auto 10px auto;
		clear: both;
	}

	.message-message::before {
		top: auto;
		bottom: 100%;
		left: 204px;
		border-width: 15px;
		border-color: transparent;
		border-bottom-color: #D6DEE7;
		border-style: solid;
	}
	
	.message-message::after {
		top: auto;
		bottom: 100%;
		left: 205px;
		border-width: 14px;
		border-color: transparent;
		border-bottom-color: #ECEFFA;
		border-style: solid;
	}
}

/* --- Moderation des messages --- */
.message-moderate {
	margin-bottom: 10px;
	padding: 4px 0 4px 0;
	width: 98%;
	background-color: #ECEFFA;
	border: 1px solid #D6DEE7;
	border-radius: 4px;
	text-align: center;
	vertical-align: middle;
}

.message-moderate a {
	vertical-align: top;
}

i.message-announce,
i.message-announce-new,
i.message-announce-track {
	font-size: 1.6em;
}

i.message-announce {
	color: #D1D2D4;
}

i.message-announce-new {
	color: #4372AA;
}


/* -- Le maintenance -- */ 
/* -------------------- */
#maintain {
	margin: 10px 0;
}

div.delay {
	margin: 20px 0;
}

#global.global-maintain {
	flex-direction: column;
	-ms-flex-direction: column;
	-webkit-flex-direction: column;
}

div#message-maintain {
	position: absolute;
	z-index: 20;
	top: 5px;
	width: 100%;
	opacity: 0.98;
	text-align: center;
}

div#message-maintain > div {
	margin: 0 auto;
}

div#release {
	margin-top: 20px;
}
